package com.yds.ydsdatasetbackend.model.vo;

import cn.hutool.json.JSONUtil;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.yds.ydsdatasetbackend.model.entity.File;
import com.yds.ydsdatasetbackend.model.entity.FileVariables;
import lombok.Data;
import org.springframework.beans.BeanUtils;

import java.io.Serializable;
import java.util.Date;

/**
 * 数据变量表
 * @TableName file_variables
 */
@TableName(value ="file_variables")
@Data
public class FileVariablesVO implements Serializable {
    /**
     * id
     */
    private Long id;

    /**
     * 对应的文件 id
     */
    private Long fileId;

    /**
     * 列号，防止变量重复
     */
    private Long columnNumber;

    /**
     * 变量名称
     */
    private String name;

    /**
     * 变量角色
     */
    private String role;

    /**
     * 变量类型
     */
    private String type;

    /**
     * 变量描述
     */
    private String description;

    /**
     * 变量单位
     */
    private String units;

    /**
     * 是否有缺失值：no/yes
     */
    private String missing;

    private static final long serialVersionUID = 1L;

    /**
     * 封装类转对象
     */
    public static FileVariables voToObj(FileVariablesVO fileVariablesVO) {
        if (fileVariablesVO == null) {
            return null;
        }
        FileVariables fileVariables = new FileVariables();
        BeanUtils.copyProperties(fileVariablesVO, fileVariables);
        return fileVariables;
    }

    /**
     * 对象转封装类
     */
    public static FileVariablesVO objToVo(FileVariables fileVariables) {
        if (fileVariables == null) {
            return null;
        }
        FileVariablesVO fileVariablesVO = new FileVariablesVO();
        BeanUtils.copyProperties(fileVariables, fileVariablesVO);

        return fileVariablesVO;
    }
}